choice
prompt "Select command-line editing support"
- default SQLITE3_LIBEDIT
+ default SQLITE3_LINENOISE
+
+ config SQLITE3_LINENOISE
+ bool "linenoise"
+ help
+ Build with linenoise. This is the default. Adds ~12k compared to the "none" variant
config SQLITE3_LIBEDIT
bool "libedit"
help
- Link against libedit. This is the default.
+ Link against libedit. Adds 4k + ~192k for libedit + ~341k for ncurses
config SQLITE3_READLINE
bool "readline"
help
- Link against GNU readline.
+ Link against GNU readline. Adds 4k + ~333k for readline + ~341k for ncurses
config SQLITE3_READLINE_NONE
bool "none"
PKG_NAME:=sqlite
PKG_VERSION:=3.50.4
PKG_SRC_VERSION:=3500400
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_SRC_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.sqlite.org/2025/
CONFIG_SQLITE3_FTS4 \
CONFIG_SQLITE3_FTS5 \
CONFIG_SQLITE3_LIBEDIT \
+ CONFIG_SQLITE3_LINENOISE \
CONFIG_SQLITE3_READLINE \
CONFIG_SQLITE3_RTREE \
CONFIG_SQLITE3_SESSION
+PKG_BUILD_DEPENDS += SQLITE3_LINENOISE:linenoise
+
include $(INCLUDE_DIR)/package.mk
define Package/sqlite3/Default
DEPENDS := \
+libsqlite3 \
+SQLITE3_LIBEDIT:libedit \
- +SQLITE3_READLINE:libreadline \
- +SQLITE3_READLINE:libncursesw
+ +SQLITE3_READLINE:libreadline
EXTRA_DEPENDS:=libsqlite3 (=$(PKG_VERSION)-r$(PKG_RELEASE))
TITLE+= (cli)
endef
-DHAVE_MALLOC_USABLE_SIZE \
-DSQLITE_ENABLE_UNLOCK_NOTIFY \
$(if $(CONFIG_SQLITE3_BATCH_ATOMIC_WRITE),-DSQLITE_ENABLE_BATCH_ATOMIC_WRITE) \
- $(if $(CONFIG_SQLITE3_COLUMN_METADATA),-DSQLITE_ENABLE_COLUMN_METADATA)
+ $(if $(CONFIG_SQLITE3_COLUMN_METADATA),-DSQLITE_ENABLE_COLUMN_METADATA) \
+ -DHAVE_EDITLINE=$(if $(CONFIG_SQLITE3_LIBEDIT),1,0) \
+ -DHAVE_READLINE=$(if $(CONFIG_SQLITE3_READLINE),1,0)
CONFIGURE_ARGS := \
$(filter-out --target=% $(DISABLE_IPV6) $(DISABLE_NLS),$(CONFIGURE_ARGS)) \
$(if $(CONFIG_SQLITE3_SESSION),--enable-session,--disable-session)
ifeq ($(CONFIG_SQLITE3_LIBEDIT),y)
-CONFIGURE_ARGS+=--disable-readline
+CONFIGURE_ARGS+=--editline --with-readline-header=$(STAGING_DIR)/usr/include/editline/readline.h
else ifeq ($(CONFIG_SQLITE3_READLINE),y)
-CONFIGURE_ARGS+=--disable-editline
+CONFIGURE_ARGS+=--readline --with-readline-header=$(STAGING_DIR)/usr/include/readline/readline.h
+else ifeq ($(CONFIG_SQLITE3_LINENOISE),y)
+CONFIGURE_ARGS+=--with-linenoise=$(STAGING_DIR)/usr/include/linenoise
else
CONFIGURE_ARGS+=--disable-editline --disable-readline
endif